home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
graphvew
/
aive1_5.arj
/
AIVE.DOC
< prev
next >
Wrap
Text File
|
1994-03-14
|
9KB
|
221 lines
Amiga Image ViewEr
version 1.5
Mars 1994
R⌠le : Afficher des images en 256 couleurs sur un Amiga de base .
------
Copyright :
-----------
AIVE est (c) 1994 Laurent Vivier . Il ne peut Ωtre vendu dans un but
commercial sans mon autorisation Θcrite . Tout distribution ne peut exiger
plus de 15FF de frais . Plus gΘnΘralement, je n'autorise personne α
distribuer ce logiciel dans un but lucratif sans mon autorisation Θcrite .
Ce logiciel ne peut Ωtre distribuΘ sΘparΘ de ses documentations . Les
fichiers "AIVE","AIVE.docF","AIVE.docE" ne peuvent donc Ωtre sΘparΘs .
Je pense qu'on peut classer ce logiciel parmi les "Freeware", je ne
demande donc rien en Θchange, sinon que les personnes susceptibles de le
faire progresser me fasse parvenir leurs informations (nouveaux formats,
nouveaux algorithmes, documents techniques concernant l'Amiga) .
Avertissement :
---------------
Je dΘcline toute responsabilitΘ quant α l'utilisation de ce logiciel .
Toute utilisation se fait α vos risques et pΘrils .
Contact :
---------
Adresse postale :
Laurent Vivier
Avenue GΘnΘral De Gaulle
38380 Saint Laurent du Pont
FRANCE
Adresse Θlectronique :
Laurent.Vivier@ufrima.imag.fr (jusqu'α juin 1994)
vivier@isis.imag.fr (idem)
Formats SupportΘs : GIF87a,GIF89a (entrelacΘ ou non), IFF .
-------------------
The Graphic Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated.
Utilisation :
-------------
L'utilisation de AIVE se fait uniquement α partir du CLI (ou Shell) .
Le nom du fichier ainsi que les options d'affichage se font par passage
des paramΦtres .
ParamΦtres supportΘs :
----------------------
Les paramΦtres supportΘs sont affichΘs si on lance AIVE sans paramΦtres !
Tous les paramΦtres doivent Ωtre saisis en minuscule .
AIVE name [hire|lore|ehb][nolace][grey][scale]
[width w][heighth][ratio a/b][color #colors]
HIRE,LORE,EHB : spΘcifie le mode graphique α utiliser
HIRE : haute rΘsolution
LORE : basse rΘsolution
EHB : Extra-Half-Bright
Le mode d'affichage par dΘfaut est HAM .
NOLACE : par dΘfaut l'affichage se fait en mode entrelacΘ, cette option
l'inhibe .
GREY : affiche l'image en niveau de gris (16 couleurs, HIRE)
COLOR n : permet d'indiquer le nombre de couleurs a utiliser (>= 8,
par dΘfaut le maximum) . ConjuguΘ avec GREY, indique le nombre
de niveaux de gris .
SCALE : l'image est automatiquement rΘduite pour rentrer entiΦrement dans
l'Θcran
WIDTH w : spΘcifie la largeur maximale de l'image
HEIGHT h : spΘcifie la hauteur maximale de l'image
RATIO a/b : rapport de dΘformation de l'Θcran .
Soit x et y, respectivement la largeur et la hauteur d'un
point ΘlΘmentaire de l'Θcran, alors : y = x * (a/b)
par dΘfaut : a/b = 1/2 en LORE (HAM,EHB)
= 1/1 en LORE et NOLACE
= 1/1 en HIRE
= 2/1 en HIRE et NOLACE
Je suis bien conscient que ces coefficients ne sont pas
rΘalistes . Mais ceux-ci pouvant varier d'un Θcran α l'autre
en fonction des rΘglages, de la frΘquence (NTSC/PAL),
d'une image α l'autre, toute autre valeur ne pourrait Ωtre
que spΘcifique α MON Θcran . Alors, α vous de faire le boulot
( une mΘthode consiste α dessiner un rectangle a l'Θcran, mΩme
nombre de points hauteur/largeur, de prendre un dΘcimΦtre
pour mesurer ses c⌠tes sur l'Θcran, et de faire le rapport)
Interface :
-----------
AprΦs lancement, une fenΩtre s'ouvre . On y trouve le nom de l'image en
cours de chargement, son type (GIF87a, GIF89a, IFF ...), ses dimensions,
ainsi qu'une barre reflΘtant la progression du dΘcodage . Un bouton "Stop"
permet d'arrΦter la lecture, et de quitter le programme . Le recourci
clavier est la touche "ESC", elle n'est active seulement si la fenΩtre est
sΘlectionnΘe (et non si l'image est sΘlectionnΘe !) .
A noter : Sous OS2.0, il est possible d'afficher des images plus grandes
que l'Θcran; rien de spΘciale n'a ΘtΘ fait pour les parcourir, la seule
solution existante est celle donnΘe par le systΦme, c'est-α-dire presser
la touche Amiga Gauche en mΩme temps que le bouton gauche de la souris,
et dΘplacer la souris pour dΘplacer l'image .
Sous OS1.3, ce problΦme ne se rencontre pas : il est impossible d'ouvrir
un Θcran plus grand, l'image est mise α l'Θchelle dans une taille standard
(PAL ou NTSC) .
Techniques UtilisΘes :
----------------------
Toutes les images subissent un dithering de type Floyd-Steinberg, qui
consiste en une propagation de l'erreur aux points voisins . Il est
bidirectionnel dans tous les cas .
L'affichage en niveau de gris, qui je pense est ce que l'on peut faire
de mieux sur un Amiga avec le chip set de base, utilise les coefficients de
luminositΘ de la Commision Internationale de l'Eclairage (CIE), c'est-α-dire
que chaque composante est pondΘrΘe par une valeur proche de la sensibilite de
l'oeil, lors du calcul de la moyenne donnant l'intensitΘ du niveau de gris .
La recherche de la couleur la plus proche se fait en se projetant dans
l'espace tridimensionel raportΘ aux composantes . Cela reviens α calculer
la distance la plus courte dans cet espace . Cet espace est dilatΘ par les
coefficients citΘs prΘcΘdemment .
L'extraction de la palette de couleurs se fait grαce α une mΘthode
personnelle qui consiste α agglomΘrer les couleurs en ilots de proximitΘ dans
l'espace . On dΘcoupe l'espace en un nombre de sous-espaces, ce nombre est
le nombre de couleurs dΘsirΘes . La valeur de la couleur associΘe au
sous-espace est le barycentre des couleurs de la palette d'origine contenu
dans ce sous-espace .
L'affichage a ΘtΘ accΘlΘrΘ par rapport α la version 1.0 en stockant les
calculs au fur et α mesure de l'affichage (utilise une vingtaine de Ko en
plus)
La mise α l'Θchelle se fait grαce α une routine en assembleur n'utilisant
aucun nombre en virgule flottante . La technique employΘe peut s'apparenter
aux techniques utilisΘes pour faire de l'anti-aliasing .
Evolutions possibles :
----------------------
- Lancement α partir du workbench .
- gamma correction (est-ce utile ?)
- implantation d'une option d'impression (utilisant toute la rΘsolution
de l'imprimante) .
- implantation d'une option de sauvegarde .
- ajout des format PCX, BMP (trΦs probable), JPEG (peu probable, α cause
de l'obligation de parcourir l'image pour extraire la palette)
- complΘtion de l'interface homme-machine sous intuition
CompatibilitΘ :
---------------
Ce soft a commencΘ α Ωtre dΘvelopper sous Kickstart 1.2, Workbench 1.3 .
Lors de sa diffusion, son dΘveloppement se faisait sous 2.0, il devrait donc
fonctionner sous tous les systΦmes . Il a ΘtΘ rapidement testΘ sous 2.0 avec
Θmulateur kickstart 1.3, α premiΦre vue il ne parait pas y avoir de
problΦmes .
Il se peut qu'il y ait des problΦmes sur des machines comportant des
cartes graphiques : je n'utilise pas la fonction WritePixel de la
graphics.lib pour Θcrire α l'Θcran, mais Θcris directement en mΘmoire, dans
un but de rapiditΘ .
Toutes l'activitΘ de test s'est faite sur mon A500 :
carte mΦre rev 5a, OS2.0, 2 drives DDDS, 512 FAST, 512 CHIP .
Remerciements :
---------------
FrΘdΘric Elisei Archimediste gΘnial, qui a fourni de l'eau a mon moulin
Franck Lyonnet idem
Voyez leurs viewers JPEG sur Acorn Archimede 5000,
qui tourne plus vite que n'importe quels viewers GIF
sur Amiga (500 !) .
Roger Wilson pour un article sur son soft ChangeFSI
Steven A. Bennet auteur d'un dΘcodeur GIF dont je me suis inspirΘ
Cindy Crowford pour sa plastique superbe (motivante !)
UFR Informatique qui m'a permis de dΘcouvrir le rΘseau internet, et donc
et mathΘmatiques l'accΦs a un nombre important d'informations
appliquΘes de (Merci aux administrateurs systΦme)
Grenoble Venez Θtudier α Grenoble
Historique :
------------
Janvier 1994 version 1.0 premiΦre distribution
Janvier 1994 version 1.2 correction de 2 lΦgers bugs :
- plantage sur des images de largeur impaire
- lΘgΦre correction du dithering pour Θviter
un effet de saturation .
Mars 1994 version 1.5 correction d'autres bugs :
- impossibilitΘ d'afficher en grey avec low
resolution .
- impossibilitΘ de faire un dΘgradΘ de gris
avec moins de 16 niveaux .
Evolution :
- AccΘlΘration du dithering (un gain de 2 ou 3)
- mise en place des routines de changement
de taille de l'image
Auteur : Laurent Vivier
--------